package models

import "github.com/shopspring/decimal"

// 充值模块
type MRechargeGiveSet struct {
	ID        int    `gorm:"type:int(10); primaryKey" json:"id"`
	Aid       int    `gorm:"type:int(10);" json:"aid"`            //账户ID
	Givedata  string `gorm:"type:varchar(5555);" json:"givedata"` //赠送数据
	Status    int    `gorm:"type:int(11);" json:"status"`         //状态 1开启
	Caninput  int    `gorm:"type:int(11);" json:"caninput"`       //输入金额 1开启
	Shuoming  string `gorm:"type:varchar(5555);" json:"shuoming"` //充值说明
	CreatedAt int    `gorm:"type:int(10);" json:"created_at"`
	UpdatedAt int    `gorm:"type:int(10);" json:"updated_at"`
}

func (table *MRechargeGiveSet) TableName() string {
	return "m_recharge_give_set"
}

// 充值订单记录
type MRechargeOrder struct {
	ID         int             `gorm:"type:int(10); primaryKey" json:"id"`
	Aid        int             `gorm:"type:int(10);" json:"aid"`           //账户ID
	Mid        int             `gorm:"type:int(10);" json:"mid"`           //用户id
	Money      decimal.Decimal `json:"money"`                              //充值金额
	Give       decimal.Decimal `json:"give"`                               //赠送金额
	GiveScore  int             `gorm:"type:int(10);" json:"give_score"`    //赠送积分
	Ordernum   string          `gorm:"type:varchar(255);" json:"ordernum"` //订单号
	Status     int             `gorm:"type:int(10);" json:"status"`        //0未支付;1已支付,4关闭
	Payorderid int             `gorm:"type:int(10);" json:"payorderid"`    //订单支付表id
	Paytypeid  int             `gorm:"type:int(10);" json:"paytypeid"`     //支付方式 2余额支付 1微信支付
	Paytype    string          `gorm:"type:varchar(255);" json:"paytype"`  //支付方式文本
	Paynum     string          `gorm:"type:varchar(255);" json:"paynum"`   //支付单号
	Paytime    int             `gorm:"type:int(10);" json:"paytime"`       //支付时间
	Platform   string          `json:"platform"`                           //来源平台 mp公众号 wx微信小程序
	CreatedAt  int             `gorm:"type:int(10);" json:"created_at"`
	UpdatedAt  int             `gorm:"type:int(10);" json:"updated_at"`
}

func (table *MRechargeOrder) TableName() string {
	return "m_recharge_order"
}

// 充值卡兑换库
type MRechargeExchange struct {
	ID           int             `gorm:"type:int(10); primaryKey" json:"id"`
	Aid          int             `gorm:"type:int(10);" json:"aid"`              //账户ID
	Mid          int             `gorm:"type:int(10);" json:"mid"`              //用户id
	Name         string          `gorm:"type:varchar(255);" json:"name"`        //卡名
	CardNumber   string          `json:"card_number"`                           //卡号
	HexiaoCode   string          `gorm:"type:varchar(255);" json:"hexiao_code"` //唯一码 核销码
	Money        decimal.Decimal `json:"money"`                                 //充值金额
	Give         decimal.Decimal `json:"give"`                                  //赠送金额
	Status       int             `gorm:"type:int(10);" json:"status"`           //1未兑换;2兑换；;3失效；5未生效
	GiveScore    int             `gorm:"type:int(10);" json:"give_score"`       //赠送积分
	IsExchange   int             `gorm:"type:int(10);" json:"is_exchange"`      //是否兑换 0未兑换，1兑换
	StartTime    int             `gorm:"type:int(10);" json:"start_time"`       //开始时间
	EndTime      int             `gorm:"type:int(10);" json:"end_time"`         //结束时间
	ExchangeTime int             `gorm:"type:int(10);" json:"exchange_time"`    //兑换时间
	IsZhuan      int             `gorm:"type:int(11);" json:"is_zhuan"`         //是否转送 0为转送 1转送
	ZhuanId      string          `gorm:"type:varchar(255);" json:"zhuan_id"`    //转送用户记录id
	Remark       string          `gorm:"type:varchar(255);" json:"remark"`      //后台备注
	CreatedAt    int             `gorm:"type:int(10);" json:"created_at"`
	UpdatedAt    int             `gorm:"type:int(10);" json:"updated_at"`
}

func (table *MRechargeExchange) TableName() string {
	return "m_recharge_exchange"
}
